package com.web.base.user.facade;

import com.blue.jdbc.Page;
import com.web.base.user.message.UserLoginLogRequest;
import com.web.base.user.message.UserLoginLogResponse;
import com.web.base.user.message.UserRequest;
import com.web.base.user.message.UserResponse;

import java.util.Collection;
import java.util.Map;

/**
 * 用户接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2017年04月16日
 */
public interface UserFacade
{

	/**
	 * 注册用户
	 */
	UserResponse reg(UserRequest request);
	
	/**
	 * 登录用户
	 */
	UserResponse login(UserRequest request);

	/**
	 * 通过微信登录用户
	 */
	UserResponse loginWechat(UserRequest request);
	
	/**
	 * 添加用户
	 */
	UserResponse add(UserRequest request);

	/**
	 * 更新用户
	 */
	UserResponse update(UserRequest request);
	
	/**
	 * 查询单个用户
	 */
	UserResponse get(Integer id);

	/**
	 * 查询用户列表
	 */
	Map<Integer, UserResponse> getList(Collection<Integer> idList);
	
	/**
	 * 查询用户，分页
	 */
	Page<UserResponse> listPage(UserRequest request, int start, int size);
	
	/**
	 * 查询用户登录日志，分页
	 */
	Page<UserLoginLogResponse> listLoginPage(UserLoginLogRequest request, int start, int size);
	
}
